The following references are considered to be the prior art most pertinent to the present invention:
[A] R. W. Wood, "Viterbi reception of Miller-squared code on a tape channel," Proc. 4th Int. Conf. Video and Data Recording, IERE Conf. Proc. 54, Southampton, England, Apr. 1982, pp. 333-343. PA1 [B] R. Karabed and P. H. Siegel, "Matched spectral null trellis codes for partial response channels," U.S. Pat. No. 4,888,779, Dec. 19, 1989. PA1 [C] R. Karabed and P. H. Siegel, "Matched spectral null codes for partial response channels," IEEE Trans. Info. Th , vol. 37, no. 3, pp. 818-855, May 1991. PA1 [D] J. Rae and L. J. Fredrickson, "Systolic architecture for Viterbi detection of DC-free sequences," U.S. Ser. No. 07/776,142, filed Oct. 15, 1991. PA1 [E] R. Karabed and P. H. Siegel, "Phase-invariant rate 8/10 matched spectral null code for PRML," allowed U.S. Ser. No. 07/747,401, filed Aug. 14, 1991, which is a continuation of U.S. Ser. No 07/434,970, filed Nov. 13, 1989 now abandoned. PA1 [F] E. Eleftheriou and R. Cideciyan, "Quaternary codes for partial-response channels," Proc. 1990 IEEE Global Telecomm. Conf., San Diego, Calif., Dec. 1990, pp. 1673-1678. PA1 (1) Spectral null sequences (such as DC-free or Nyquist-free sequences) are represented by diagrams that reflect a bound on the accumulated charge or the running digital sums (see Reference [A]). These sequences are typically generated by a finite state machine, such as disclosed in Reference [B]. PA1 (2) Spectral null sequences can also be generated at the output of a sampled partial-response channel (typically represented as a digital filter) where the channel frequency response has a null at a particular frequency, such as also disclosed in Reference [B]. PA1 (3) The two approaches can be combined, as has been done in the context of matched-spectral-null coding for partial-response channels (see References [B] and [C]).
Many communications applications utilize spectrally-constrained codes to generate spectral null sequences. The term spectral null sequences, as herein used, refers generically to codes having sequences With no spectral power or constant spectral power (i.e. a spectral density null with discrete spectral line) at certain frequencies, such as zero frequency (referred to as DC-free codes) or Nyquist frequency (referred to as Nyquist-free codes). Depending upon the application, these spectral null sequences can use symbols taken from any finite alphabet that is a subset of the complex numbers. The most common examples are integer-valued sequences with binary alphabet {0,1}, bipolar alphabet {+1,-1}, or quaternary alphabet {.+-.1,+3}.
Spectral null sequences can arise in the following ways, each relevant to this invention:
Spectral null sequences have been shown to have certain inherent distance properties that can improve the reliability of their recovery from data samples generated at the output of noisy communications channels. It has also been demonstrated that, at moderate-to-high signal-to-noise ratios, performance equivalent to that of a maximum-likelihood detector can be achieved by applying the algorithm executed by a Viterbi detector to a reduced-complexity trellis that tracks only the spectral content of sequences, as described in References [A], [B], and [C].
The likelihood of Viterbi detector error events decreases as a function of the sum of the squared errors, referred to as the "error distance." At moderate signal-to-noise ratios, the minimum (and next-minimum) distance error events are the most dominant. The existence of very long error events detracts from the system performance and implementation in several ways. Even with long path memory, the average error rate is degraded by survivor sequence truncation and larger error burst lengths.
The maximum length of such error events is determined by the parallel paths in the trellis that do not accumulate distance (referred to as "quasicatastrophic sequences"). In the context of trellis structures describing spectral null constraints, these sequences can be arbitrarily long. One solution to this problem was presented in References [B] and [C]; namely, the use of coding to impose constraints on the channel output sequences in order to prevent the occurrence of quasicatastrophic trellis sequences. This approach, although adequate in some instances, has two potential drawbacks in certain data storage applications. First, particularly for high-rate codes, the encoder and decoder functions may entail additional complexity. Second, the maximum length of dominant error events, although guaranteed to be bounded above by a fixed, finite number, may still be too long for a particular application.
To illustrate these two points, reference is made to the rate 8/10 DC-free code, described in Reference [B]. That code was designed for use as a matched-spectral-null (MSN) code for a dicode (1-D) partial-response channel. Viewed as a code for a full response channel (i.e., a memoryless channel), the code doubles the minimum Hamming distance relative to the uncoded channel, providing a minimum Hamming distance of 2 instead of 1. The detector trellis for such an application is shown in FIG. 1. When the code is viewed as a MSN code and applied to a dicode partial-response channel, the detector uses the six-state trellis depicted in FIG. 2.
As noted in Reference [B], the high-rate 8/10 DC-free code does not avoid all quasicatastrophic sequences in the trellis structures. One approach to alleviating this problem was described in Reference [E], where a rate 8/10 DC-free code with acceptable complexity was designed to avoid quasicatastrophic sequences. The maximum length of minimum distance error events in that system could be as much as 42 bits. Next-minimum distance error events had a maximum length in excess of 70 bits. Further improvements from coding alone are either impossible or tend to drive the encoder/decoder hardware complexity to unacceptable levels.